Typically in a distributed application environment, when an application fails to operate, the dependent layers of the application may also fail to operate. The dependent layers are one or more applications dependent on the application and on each other for execution. This causes inconsistencies in back-end storage, timeouts, erroneous responses for requests and even failure of other parts of the distributed application.
Currently many failure detection systems exist that detect failure in the distributed application system. One such known system is exception handling, which supports error detection by invoking exception when the application is in failure. An exception is an event that occurs during the execution of a program that disrupts the normal flow of instructions. The exception may be processed with handler which notifies other nodes in a distributed application. However, since the exception is application specific, it is not guaranteed that the exception may be invoked all the time. Also, when the failure occurs in hardware, exception may not be invoked and as such may not be detected by other nodes. Further, different applications use various timeouts, which complicates their unified usage.